<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>await的基本用法</title>
</head>
<body>

</body>
<script>
function demo(name) {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve(name);
            console.log(name);
        }, 1000);
    });
}

demo('zs');

// await 只能在async函数内部使用，否则会报错
// await 后面跟着一定是promise对象
async function demo2() {
    let name = await ('jack'); // 这里代码有误，'jack' 不是Promise对象，应修正为Promise实例，如 await demo('jack')
    console.log('hello', name);
}

demo2()

/**
 * 执行古城
 * 首先调用demo2函数
 * 遇到了await表示代码在这暂停了
 * 不在向下执行，等待promise对象执行完毕
 * 拿到了promise对象的resolve或者reject返回值再继续执行
 */
</script>
</html>